home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / include / scribus-ng / scpageoutput.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-03-16  |  3.5 KB  |  100 lines

  1. /*
  2. For general Scribus (>=1.3.2) copyright and licensing information please refer
  3. to the COPYING file provided with the program. Following this notice may exist
  4. a copyright and/or license notice that predates the release of Scribus 1.3.2
  5. for which a new license (GPL+exception) is in place.
  6. */
  7. #ifndef SCPAGEOUTPUT_H
  8. #define SCPAGEOUTPUT_H
  9.  
  10. #include <QRect>
  11. #include <QRectF>
  12.  
  13. #include "scribusapi.h"
  14. #include "sccolor.h"
  15. #include "scpainterexbase.h"
  16.  
  17. class ScribusDoc;
  18. class Page;
  19. class CharStyle;
  20. struct GlyphLayout;
  21.  
  22. class PageItem;
  23. class PageItem_ImageFrame;
  24. class PageItem_Line;
  25. class PageItem_PathText;
  26. class PageItem_Polygon;
  27. class PageItem_PolyLine;
  28. class PageItem_TextFrame;
  29.  
  30. class SCRIBUS_API MarksOptions
  31. {
  32. public:
  33.     MarksOptions(void);
  34.     MarksOptions(struct PrintOptions& opt);
  35.     double markOffset;
  36.     double BleedTop;
  37.     double BleedLeft;
  38.     double BleedRight;
  39.     double BleedBottom;
  40.     bool   cropMarks;
  41.     bool   bleedMarks;
  42.     bool   registrationMarks;
  43.     bool   colorMarks;
  44.     bool   docInfoMarks;
  45. };
  46.  
  47. class SCRIBUS_API ScPageOutput
  48. {
  49. protected:
  50.  
  51.     ScribusDoc* m_doc;
  52.  
  53.     bool m_reloadImages;
  54.     int  m_imageRes;
  55.     bool m_useProfiles;
  56.     MarksOptions m_marksOptions;
  57.  
  58.     virtual void fillPath( PageItem* item, ScPainterExBase* painter, const QRect& clip );
  59.     virtual void strokePath( PageItem* item, ScPainterExBase* painter, const QRect& clip );
  60.  
  61.     virtual void drawMasterItems( ScPainterExBase *painter, Page *page, const QRect& clip);
  62.     virtual void drawPageItems( ScPainterExBase *painter, Page *page, const QRect& clip);
  63.  
  64.     virtual void drawItem( PageItem* item, ScPainterExBase* painter, const QRect& clip );
  65.     virtual void drawItem_Pre( PageItem* item, ScPainterExBase* painter );
  66.     virtual void drawItem_Post( PageItem* item, ScPainterExBase* painter );
  67.  
  68.     virtual void drawGlyphs(PageItem* item, ScPainterExBase *painter, const CharStyle& style, GlyphLayout& glyphs, const QRect& clip);
  69.     virtual void drawItem_Embedded( PageItem* item, ScPainterExBase *p, const QRect& clip, const CharStyle& style, PageItem* cembedded);
  70.     virtual void drawPattern( PageItem* item, ScPainterExBase* painter, const QRect& clip);
  71.     
  72.     virtual void drawItem_ImageFrame( PageItem_ImageFrame* item, ScPainterExBase* painter, const QRect& clip );
  73.     virtual void drawItem_Line( PageItem_Line* item, ScPainterExBase* painter, const QRect& clip);
  74.     virtual void drawItem_PathText( PageItem_PathText* item, ScPainterExBase* painter, const QRect& clip );
  75.     virtual void drawItem_Polygon ( PageItem_Polygon* item , ScPainterExBase* painter, const QRect& clip );
  76.     virtual void drawItem_PolyLine( PageItem_PolyLine* item, ScPainterExBase* painte, const QRect& clip );
  77.     virtual void drawItem_TextFrame( PageItem_TextFrame* item, ScPainterExBase* painter, const QRect& clip );
  78.  
  79.     virtual void drawArrow(ScPainterExBase* painter, PageItem* item, QMatrix &arrowTrans, int arrowIndex);
  80.     virtual void drawMarks( Page* page, ScPainterExBase* painter, const MarksOptions& options );
  81.     virtual void drawBoxMarks( ScPainterExBase* painter, const QRectF& box, const QRectF& bleedBox, double offset );
  82.     virtual void drawRegistrationCross( ScPainterExBase* painter );
  83.  
  84.     ScImage::RequestType translateImageModeToRequest( ScPainterExBase::ImageMode mode);
  85.  
  86. public:
  87.     virtual ~ScPageOutput() { }
  88.  
  89.     ScPageOutput(ScribusDoc* doc, bool reloadImages = false, int resolution = 72, bool useProfiles = false);
  90.  
  91.     virtual void begin(void) {};
  92.     virtual void drawPage( Page* page ) {};
  93.     virtual void drawPage( Page* page, ScPainterExBase* painter);
  94.     virtual void end(void) {};
  95.  
  96.     void setMarksOptions(const MarksOptions& opt) { m_marksOptions = opt; }
  97. };
  98.  
  99. #endif
  100.